package com.tjbank.cssys.api;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.tjbank.cssys.dto.RoleDTO;
import com.tjbank.cssys.dto.RoleDetailsDTO;

/**
 * 角色
 * 
 * Package : com.tansun.magicube.iam.api
 * 
 * @author -- lijiangtao 2020年5月5日 下午4:09:54
 *
 */
public interface RoleService {

    /**
     * 新增
     * 
     * @param roleDTO
     * @return
     * @author -- lijiangtao 2020年5月9日 下午4:03:40
     */
    Integer addRole(RoleDTO roleDTO);

    /**
     * 分页查询角色信息
     * 
     * @param roleDTO
     * @param pageable
     * @return
     * @author -- lijiangtao 2020年7月27日 下午3:49:51
     */
    Page<RoleDTO> queryRole(RoleDTO roleDTO, Pageable pageable);

    /**
     * 逻辑删除
     * 
     * @param roleId
     * @return
     * @author -- lijiangtao 2020年5月9日 下午4:03:44
     */
    Integer deleteRole(String roleId);

    /**
     * 更新
     * 
     * @param roleDTO
     * @return
     * @author -- lijiangtao 2020年5月9日 下午4:03:47
     */
    Integer updateRole(RoleDTO roleDTO);

    /**
     * 根据角色ID查询
     * 
     * @param roleId
     * @return
     * @author -- lijiangtao 2020年5月9日 上午10:28:10
     */
    RoleDetailsDTO queryRole(String roleId);

    /**
     * 根据租户Code分页查询角色信息
     * 
     * @param roleDTO
     * @param pageable
     * @return
     * @author -- lijiangtao 2020年5月7日 下午3:25:39
     */
    Page<RoleDTO> queryRoleByTenantCode(RoleDTO roleDTO, Pageable pageable);
}
